package com.xiaoc.bulldozer.common.service;

import java.util.List;

import com.xiaoc.bulldozer.common.dto.DataPriviledgeQueryDto;
import com.xiaoc.bulldozer.common.model.DataPriviledge;

/**
 * DataPriviledge Service 接口
 *
 * @author Danfo Yam
 * @date 2018-12-13 09:57:03
 */
public interface DataPriviledgeService {

    /**
     * 根据条件查询DataPriviledge数量
     *
     * @param DataPriviledgeQueryDto
     * @return 满足查询条件的记录数量
     */
    public Integer getDataPriviledgeCountByCondition(DataPriviledgeQueryDto DataPriviledgeQueryDto);

    /**
     * 根据条件分页查询DataPriviledge列表
     *
     * @param DataPriviledgeQueryDto
     * @return 满足查询条件的DataPriviledge列表
     */
    public List<DataPriviledge> getDataPriviledgeListByCondition(DataPriviledgeQueryDto DataPriviledgeQueryDto);

    /**
     * 根据Id获取DataPriviledge
     *
     * @param id
     * @return DataPriviledge对象
     */
    public DataPriviledge getDataPriviledgeById(Integer id);

    /**
     * 获取所有DataPriviledge列表
     *
     * @return DataPriviledge列表
     */
    public List<DataPriviledge> getAllDataPriviledgeList();

    /**
     * 新增DataPriviledge
     *
     * @param DataPriviledge
     * @return void
     */
    public void save(DataPriviledge DataPriviledge);

    /**
     * 更新DataPriviledge
     *
     * @param DataPriviledge
     * @return void
     */
    public void update(DataPriviledge DataPriviledge);

    /**
     * 根据Id删除DataPriviledge
     *
     * @param id
     * @return void
     */
    public void deleteById(Integer id);

    /**
     * 根据roleIdList, type 查询DataPriviledge列表
     * @param roleIdList
     * @param type
     */
    public List<DataPriviledge> getDataPriviledgeListByRoleIdListAndType(List<Integer> roleIdList, Integer type);

}
